57c43b2b66ff9c17a3ff99f8f7f1d2a8147381af,plsql-frontend/src/main/java/org/sonar/plsqlopen/squid/PlSqlAstScanner.java,PlSqlAstScanner,setMethodAnalyser,#AstScanner.Builder#,142

Before Change


                PlSqlGrammar.PROCEDURE_DECLARATION,
                PlSqlGrammar.FUNCTION_DECLARATION };
        
        builder.withSquidAstVisitor(new SourceCodeBuilderVisitor<>(new SourceCodeBuilderCallback() {
            @Override
            public SourceCode createSourceCode(SourceCode parentSourceCode, AstNode astNode) {
                String functionName = astNode.getFirstChild(PlSqlGrammar.UNIT_NAME, PlSqlGrammar.IDENTIFIER_NAME).getTokenValue();
                SourceFunction function = new SourceFunction(functionName + ":" + astNode.getToken().getLine());
                function.setStartAtLine(astNode.getTokenLine());
                return function;
            }
        }, methodDeclarations));

        builder.withSquidAstVisitor(CounterVisitor.<Grammar>builder()
                .setMetricDef(PlSqlMetric.METHODS)

After Change


                PlSqlGrammar.PROCEDURE_DECLARATION,
                PlSqlGrammar.FUNCTION_DECLARATION };
        
        builder.withSquidAstVisitor(new SourceCodeBuilderVisitor<>(
        	(parentSourceCode, astNode) -> {
                String functionName = astNode.getFirstChild(PlSqlGrammar.UNIT_NAME, PlSqlGrammar.IDENTIFIER_NAME).getTokenValue();
                SourceFunction function = new SourceFunction(functionName + ":" + astNode.getToken().getLine());
                function.setStartAtLine(astNode.getTokenLine());
                return function;
        }, methodDeclarations));

        builder.withSquidAstVisitor(CounterVisitor.<Grammar>builder()
                .setMetricDef(PlSqlMetric.METHODS)